//
//  XMGSubTagViewController.m
//  BuDeJie19
//
//  Created by hjj on 2016/12/3.
//  Copyright © 2016年 hjjuny. All rights reserved.
//

#import "XMGSubTagViewController.h"
#import "XMGSubTagItem.h"
#import <MJExtension/MJExtension.h>
#import "XMGTagCell.h"
#import <SVProgressHUD.h>

static NSString * const ID = @"cell1";
/*
    加载xib cell
 
    1.NSBundle: 一定要记得绑定标识符
 
    2.注册:尽量使用注册
 
 */

@interface XMGSubTagViewController ()
@property (nonatomic, strong) NSArray *tags;
@property (nonatomic, weak) AFHTTPSessionManager *mgr;
@end

@implementation XMGSubTagViewController
/*
    设置cell分割线全屏
    1.UIView
    2.利用系统属性设置，iOS7做了事情，导致分割线往右边挪动
    2.1 iOS8出了一个属性，导致分割线往右边挪动一点点
    3. 重写cell的setFrame: 万能
    3.1 取消系统分割线
    3.2 设置tableView的背景色为分割线颜色
    3.3 setFrame,在设置frame之前，把高度减小1
    3.4 一定要记得补回分割线高度
 */

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.title = @"推荐标签";
   
    // 请求数据 => 查看接口(1.基本URL 2.请求方式 3.请求参数) => AFN => 解析数据 => 写成Plist => 设计模型 => 字典转模型
    [self loadData];
    
    // 注册xib
    [self.tableView registerNib:[UINib nibWithNibName:@"XMGTagCell" bundle:nil] forCellReuseIdentifier:ID];

    // 取消系统分割线
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    // 设置tableView背景色
    self.tableView.backgroundColor = [UIColor lightGrayColor];

}

- (void)viewWillDisappear:(BOOL)animated{
    
    [super viewWillDisappear:animated];
    
    // 隐藏指示器
    [SVProgressHUD dismiss];
    
    // 取消请求
    [_mgr.tasks makeObjectsPerformSelector:@selector(cancel)];
    
}

// 请求数据
- (void)loadData
{
    // 提示用户当前在干嘛
    [SVProgressHUD showWithStatus:@"正在加载数据....."];
    
    // 1.创建请求会话管理者
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager xmg_manager];
    _mgr = mgr;
    
    // 2.拼接请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    parameters[@"a"] = @"tag_recommend";
    parameters[@"c"] = @"topic";
    parameters[@"action"] = @"sub";
    
    // 1.网速慢 2.没有网络情况
    
    // 3.发送请求
    [mgr GET:XMGBaseUrl parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, NSArray * _Nullable responseObject) {
        
        [SVProgressHUD dismiss];
        
        // 解析数据
        
        // 字典数组转模型数组
        _tags = [XMGSubTagItem mj_objectArrayWithKeyValuesArray:responseObject];
        
        // 刷新表格
        [self.tableView reloadData];
        
        //        [responseObject writeToFile:@"/Users/xmg5/Desktop/课堂共享/03-项目/1018/代码/03-订阅标签/tag.plist" atomically:YES];
        //        NSLog(@"%@",responseObject);
        
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
        [SVProgressHUD dismiss];
        
        NSLog(@"%@",error);
        
    }];


    
}

#pragma mark - Table view data source

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return _tags.count;
}

// 每当有新的cell要显示的时候，就会调用
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    XMGTagCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    
    cell.item = _tags[indexPath.row];
    
//    cell.textLabel.text = [_tags[indexPath.row] theme_name];
    
    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 60 + 10;
}

@end
